--[[ 编码: WMS-38-26 名称: 任务-按钮-取消任务 作者:HAN 日期:2025-1-29 级别:固定 (说明本段代码在项目中不太会变化) 函数: CanelTask 功能: 调用NDC指令申请取消任务 更改记录: --]] wms_task = require( "wms_task" ) function CanelTask ( strLuaDEID ) local nRet, strRetInfo -- step1 获取当前点中的任务 nRet, objs = m3.GetSysDataJson( strLuaDEID ) if ( nRet ~=0 ) then lua.Error( strLuaDEID, debug.getinfo(1), objs ) end -- [{"id":"","attrs":[{"attr":"","value":""},..]},..] local nCount = #objs if (nCount == 0) then return end local obj_attrs = {} for n = 1, nCount do obj_attrs = m3.KeyValueAttrsToObjAttr( objs[n].attrs ) local task_state = lua.StrToNumber( obj_attrs.N_B_STATE ) -- 1 已推送 2 执行 if ( task_state == 1 or task_state == 2 ) then local strXml = "" lua.Debug( strLuaDEID, debug.getinfo(1), "CancelNdcOrder", strXml ) nRet, strRetInfo = wms.wms_CancelNdcOrder( obj_attrs.S_FACTORY, lua.StrToNumber(obj_attrs.N_SCHEDULE_TYPE), strXml ) if ( nRet ~= 0 ) then lua.Error( strLuaDEID, debug.getinfo(1), "推送指令失败!"..strRetInfo) end end end end